iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
Security

一個人的藍隊系列 第 11

管理與刪除Agent (順便安裝Mongodb)

  • 分享至 

  • xImage
  •  

突然發現我有些東西好像忘了說了
我的測試環境有架測一台主機是用容器安裝Mongodb的
這篇文章其實應該要在更前面的比較正確XD

先前的文章有提到有三種方式管理agent
這邊以CLI為例帶大家操作一次
我們來做幾件事情

  • 列出目前所有的Agent
  • 移除指定的Agent
  • 將指定的Agent加入特定的群組

我們先利用以下的指令來進入wazuh manager容器內的bash

docker exec -it single-node_wazuh.manager_1 bash

如果要列出全部的agent,可以使用內建的executable檔案執行CLI
名稱叫agent_control,使用以下的指令
可以注意到,列出了目前註冊的agent
包含了server本身,本身會是ID為0的機器

/var/ossec/bin/agent_control -l

https://ithelp.ithome.com.tw/upload/images/20230926/20114110hK0XKs4tMC.png

接下來我們在另外一台主機上面安裝agent
另外一台為準備要啟動資料庫服務的主機
這邊demo其實你要用原本安裝Nginx的agent來操作也是可以的
我只是想稍微做一點變化(架構圖請看文章最後)
另一台啟動一台新的虛擬機,負責安裝資料庫服務以及註冊Agent
資料庫使用以下docker-compose.yml啟動

mkdir -p /data/mongo
touch /data/mongo/mongod.log
chown 999:999 /data/mongo/mongod.log
version: '3.1'

services:
  mongo:
    image: mongo:4.2
    restart: always
    container_name: mongo
    command: mongod --auth --logpath /var/log/mongodb/mongod.log --logappend
    environment:
      - MONGO_INITDB_ROOT_USERNAME=userAdmin
      - MONGO_INITDB_ROOT_PASSWORD=userPassword
    volumes:
      - /data/mongo/db:/data/db
      - /data/mongo/mongod.log:/var/log/mongodb/mongod.log
    ports:
      - "27017:27017"

安裝連線工具

wget -qO- https://www.mongodb.org/static/pgp/server-6.0.asc | sudo tee /etc/apt/trusted.gpg.d/server-6.0.asc
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-mongosh
mongosh --version

測試連線正常,確定可正常登入
https://ithelp.ithome.com.tw/upload/images/20230926/20114110XcXXfrfp5z.png

mongosh -u userAdmin -p 'userPassword' --authenticationDatabase admin

也可以看到有LOG紀錄
https://ithelp.ithome.com.tw/upload/images/20230926/20114110efZzddrzVa.png
我們在此台主機安裝agent

curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.5.0-1_amd64.deb && sudo WAZUH_MANAGER='192.168.101.139' WAZUH_AGENT_GROUP='default' dpkg -i ./wazuh-agent.deb
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

利用CLI或API將agent進行分組
回到wazuh manager查看agent list

/var/ossec/bin/agent_control -l

多了一個ID 002
正好,發現我忘了改hostname
我們現在測試把002的agent移除
使以下指令將002的agent移除

/var/ossec/bin/manage_agents -r 002

https://ithelp.ithome.com.tw/upload/images/20230926/20114110phKU2EJswe.png

https://ithelp.ithome.com.tw/upload/images/20230926/20114110UwgamPhAIc.png

不過阿…重新安裝之後
我們會發現兩件事情
因為這台agent的主機實際上還是活得好好的
上面的wazuh-agent也是持訊續運行 (可以用systemctl status wazuh-agent去看)
所以刪除後只會消失一下,接著又會重新註冊agent (放著不動,等待一段時間就會回來了)
而且會發現ID 變成003,再移除一次又會再回來,變成004喔
不過這個ID我們就不管了XD

我不確定這個到底是不是正常的邏輯XDDDDD
這邊我想要真的移除,還是先到agent主機主機上停用移除agent
然後再來server上移除上面顯示的agent
接著主機再重新安裝agent

最後
接下來呢我們要將一台agent給加入到名稱為dbms的group

步驟:
先新增一個group名稱為dbms
將節點004移除default這個群組
將節點004分組至dbms
列出dbms這個group下面有哪些成員

/var/ossec/bin/agent_groups -a -g dbms
/var/ossec/bin/agent_groups -a -i 004 -g dbms
/var/ossec/bin/agent_groups -r -i 004 -g default
/var/ossec/bin/agent_groups -l -g dbms

一旦有了新的群組,server對於群組的設定將會在其名字下面的路徑
/var/ossec/etc/shared/dbms/agent.conf

https://ithelp.ithome.com.tw/upload/images/20230926/201141107HMb581EVG.png

我們在manager server上修改該group目錄下的agent.conf
就會被同步到agent上的agent.conf

當然以上內容都可以在dashboard進行操作
也是很方便的

上面大家可能有注意到有件事情可能覺得詭異
為何我要把agent 004給移除default這個群組呢

這個XD
原本其實是個伏筆了… 且待後面章節揭曉答案!
但實際上就是昨天的內容啦 會有多重群組的問題要解決哈哈

所以我們這系列
目前是啟動了三台虛擬機
一台是安裝Wazuh
一台安裝Nginx (本機/容器)
一台安裝Mongodb (容器)
架構圖如下
https://ithelp.ithome.com.tw/upload/images/20230926/2011411089qqoBEsO9.jpg


上一篇
Wazuh Log路徑位置指定與agent多重group除錯
下一篇
Wazuh Decoder與監控容器日誌(監控Mongo)
系列文
一個人的藍隊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言